#ifndef XMLDEP_H
#define XMLDEP_H

#include <QString>
#include <QStringList>
#include "cdf.h"
#include "cdfWeibull.h"
#include "cdfErlang.h"
#include "cdfUniforme.h"
//#include "circleDep.h"

class depproperty;
class defaultstateproperty;
class circleDep;

class xmlDep
{
public:
    xmlDep();
    QString getTriggerId();
    QString getTriggerEvType();
    QString getTriggerEvFinalStateId();
    QString getReactionEvType();
    QString getReactionEvFinalStateId();
    QString getPropProbability();
    QStringList getInitState();
    QString getLogicConditionalCircleDep();
    bool getIsPainted();
    void setTriggerId(QString value);
    void setTriggerEvType(QString value);
    void setTriggerEvFinalStateId(QString value);
    void setReactionEvType(QString value);
    void setReactionEvFinalStateId(QString value);
    void setInitState(QStringList value);
    void setPropProbability(QString);
    void setIsPainted(bool value);
    bool getIsMergedDep();
    void setIsMergedDep(bool value);
    int getIsLon();
    void setIsLon(int value);
    void setPriority(QString value);
    QString getPriority();
    void setLogicConditionalCircleDep(QString value);

    void setCdf(QString typeCdf, depproperty *myForm, int num_dep);
    void setCdf(QString typeCdf, defaultstateproperty *myForm);
    cdf * getCdf();
    void setCdfFromParser(cdf * distribution);
    void setNumMyCircleDep(int value);
    int getNumMyCircleDep();
    void setJumpIsNotClickable(bool value);
    bool getJumpIsNotClickable();

    void setXcircleDep(QString value);
    void setYcircleDep(QString value);
    double getXcircleDep();
    double getYcircleDep();
    //void setNumTriggerCircleDep(int value);
    //int getNumTriggerCircleDep();
    //void setMyCircleDep(circleDep *value);
    //circleDep *getMyCircleDep();

private:
    QString triggerId;
    QString triggerEvType;
    QString triggerEvFinalStateId;
    QString reactionEvType;
    QString reactionEvFinalStateId;
    QString propProbability;
    QStringList initState;
    QString priority;
    cdf *distribution; //cdf dip
    QString logicConditionalCircleDep;
    bool isPainted;
    bool isMergedDep;
    bool jumpIsNotClickable;//per non far visualizzare le dep notClickable
    int numMyCircleDep;
    //int numTriggerCircleDep;//numero di blocchi trigger associati ad un circleDep
    int isLon;
    //circleDep *myCircle;
    double xCircleDep;
    double yCircleDep;
};



#endif // XMLDEP_H
